System and method for controlling mobile services using sensor information

ABSTRACT

A system includes a database of image data associated with a vehicle; and control logic configured to cause a user device to capture one or more images and compare data associated with the one or more images with the image data to determine if a user is present in a vehicle and disable a text messaging function at least in part responsive to the determination using the image data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent applicationSer. No. 12/804,448, filed Jul. 21, 2010, and a continuation-in-part ofU.S. patent application Ser. No. 12/931/153 filed Jan. 25, 2011, whichare hereby incorporated by reference in their entireties as if fully setforth herein.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to the use of and management of resourcesfor mobile users.

Description of the Related Art

Financial services cards, such as debit, credit, and ATM cards, areubiquitous. Fraud prevention is an increasingly difficult task.

Mobile devices, particularly smart phones and tablets, are seeingphenomenal growth. It is expected by industry analysts that thepercentage of consumers who own smart phones soon will outstrip theownership of the old-fashioned “feature phones.” Tablets areincreasingly being used for many information tasks by mobile users sincetheir size is decreasing and they are becoming less cumbersome to use ina mobile setting.

Consumers carry mobile devices with them at all times and everywhere. Itis a rare consumer who leaves his house without carrying one or moremobile device on his person. Consequently, consumers always have amobile device handy and often use them in all kinds of situations andenvironments. Some of these situations may be dangerous to the consumersand/or the general public.

Recently, there have been a flurry of reports in the media highlightingthe danger of drivers of automobiles text messaging while driving.Indeed, many fatal accidents have been reported in the press and severallegislative bodies have outlawed such use of mobile devices. Drivers oftrains and buses have also been charged with such acts of carelessnessthat have resulted in harm to the general public. The situation is notlimited to text messaging but to many other kinds of services availableon mobile devices such as games, phone calls, internet browsing, etc.The situation is also not limited to drivers of automobiles but also tooperators of buses, public transportation systems. etc.

It is therefore of great public interest to find a general solution thatcan allow a service provider to detect when a driver or an operator of atransport device is engaged in activity that can potentially lead to adistracted state. Many methods and systems have been proposed torestrict consumers from text messaging while driving.

Certain proposed methods and systems require that the driver'stelecommunication signal be jammed within the confines of theautomobile. This is clearly unacceptable since it will also render thepassenger mobile devices to become inoperative.

Certain other proposed methods rely on detecting when a mobile device(being carried on the person of a consumer) is in motion and renderingit incapable of text messaging (or other services). Again, this would beunacceptable if the device does not belong to the driver of theautomobile.

It is therefore imperative to detect when the driver or operator of acar or any transport device is actually engaged in driving the car ortransport device. Once such detection has been made, only the device inquestion should be isolated for any action that the policy of theservice provider dictates

SUMMARY OF THE INVENTION

These and other drawbacks in the prior art are overcome in large part bya system and method according to embodiments of the present invention.

A system according to embodiments includes a database of image dataassociated with a vehicle; and control logic configured to cause a userdevice to capture one or more images and compare data associated withthe one or more images with the image data to determine if a user ispresent in a vehicle and disable a text messaging function at least inpart responsive to the determination using the image data. In someembodiments, the user device includes at least one of a forward facingor rear facing camera Depending on the embodiment, at least part of thedatabase and control logic may be associated with either the user deviceor one or more remote servers.

A method in accordance with embodiments includes activating at least oneimage capturing device associated with a user device and capturing oneor more images responsive to one or more predetermined conditions of theuser device; at least in part from the one or more images, determiningif the user device is located within a vehicle; and disabling a textingfunction of the user device at least in part if the user device isdetermined to be located within a vehicle.

In some embodiments, the at least one image capturing device comprises arear facing cellular telephone camera. In others, the at least one imagecapturing device comprises a rear facing cellular telephone camera. Themethod may further comprise determining a speed of the user device anddisabling the texting function responsive to determining if the speed isabove a threshold and the user device is located within a vehicle. Themethod may further comprise transmitting the one or more images to aservice provider site the service provider site comparing the one ormore images to an image database and transmitting one or more controlsignals to the user device in response thereto. The method may furthercomprise providing a warning message to the user device responsive tothe comparing one or more images.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention may be better understood, and its numerousobjects, features, and advantages made apparent to those skilled in theart by referencing the accompanying drawings. The use of the samereference symbols in different drawings indicates similar or identicalitems.

FIG. 1 illustrates an exemplary system according to embodiments of thepresent invention.

FIG. 2 illustrates a CL according to embodiments of the presentinvention.

FIG. 3 is a flowchart illustrating operation of embodiments of thepresent invention.

FIG. 4 is a diagram of an exemplary system map according to embodimentsof the present invention.

FIG. 5 is a diagram of an exemplary system map according to embodimentsof the present invention.

FIG. 6 is a flowchart illustrating operation of embodiments of thepresent invention.

FIG. 7 is an exemplary SDP in accordance with embodiments of the presentinvention.

FIG. 8 is an exemplary user device in accordance with embodiments of thepresent invention.

FIG. 9 is a flowchart illustrating operation of embodiments of thepresent invention.

FIG. 10 is a diagram of a system in accordance with embodiments of thepresent invention.

FIG. 11 is a flowchart illustrating operation of embodiments of thepresent invention.

FIG. 12 is a flowchart illustrating operation of embodiments of thepresent invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Environment Map System

In accordance with embodiments of the present invention, a system andmethod is provided for using information broadcast by devices andresources in the immediate vicinity of a mobile device, or by sensorslocated within the mobile device itself, to ascertain and make adetermination of the immediate environment and state of the mobiledevice. This determination may be used to control and manage the actionsthat the device is asked to carry out by or on behalf of the user. Insome embodiments, this can include, for example, denying particularservices, such as texting. Alternatively, this determination may be usedto provide a user of the mobile device with recommendations, e.g., forapps particularized to the device environment and state.

Advantageously, a carrier can define hundreds of device profiles andautomatically and dynamically associate them with user devices, based onthe device sensing its environment. The profiles allow or disallowcertain actions or combinations of actions, as will be described ingreater detail below.

Embodiments of the present invention address locating mobile devices ina telecommunications network that uses a mechanism of “paging requests”by certain network elements and “location updates” by mobile devices toupdate and maintain a database called the Home Location register (HLR).The term “location” typically refers to the cellular site (cell site)within which the mobile device was last known to be located, althoughother location methods, including satellite or triangulation-basedmethods, such as GPS, may be employed.

In accordance with embodiments of the present invention, paging requestsand location updates may include not only cell site information, butalso the availability of other access networks to the mobile device suchas WiFi, Bluetooth, WiMax, etc. Moreover, any other resources, e.g.,display devices, that could be used in conjunction with the mobiledevice that are “attached” to the new access network and which“announce” their capabilities and availability are also included in theupdates. Internal sensor information, such as device orientation, motionsensors, etc., may also be provided.

The information so obtained from the environment surrounding a mobiledevice is captured in a series of update messages, referred to asresource updates, by a network facility that processes and stores themessages.

In an exemplary embodiment, the mobile device contains a registrywherein all applications are authenticated and registered before theycan be used in the mobile device. The registry may additionally containa profile stating what resources an application needs. A networkfacility uses an application profile and the information obtained fromresource updates to dynamically assign a plurality of profiles to themobile device. A profile may be re-assigned and modified whenever theresource updates or the registry information in the mobile devicewarrant a change based on service logic executing in the networkfacility.

Consider, for example, a mobile device that is engaged in a voicetelephone call connected to a circuit-switched network. Assume themobile device contains applications for streaming mobile video and SMStext messaging, the applications registered within the registry of themobile device. The mobile device will have an associated profile in thenetwork facility that details the resources available to the mobiledevice, i.e., the circuit-switched network, the mobile video and SMSapplications, and any resources needed by the applications.

Now, assume a Bluetooth access network announces itself, itscapabilities and its resources. For example, the Bluetooth network mayannounce its type is “automobile” and that it supports a display devicewith certain attributes, e.g., resolution, size, etc. Assume the mobiledevice attaches itself to the new network.

The mobile device will update its registry to include the Bluetoothnetwork and its associated display device. Resource updates from themobile device to the network facility likewise now list the new accessnetwork available to the device (Bluetooth), and any resources that havebecome available, i.e., the new display device.

This causes the network facility to assign a new profile to the mobiledevice wherein delivery and display of mobile video may now beeffectuated on the newly discovered display device, i.e., the monitor inthe automobile. Moreover, a policy restriction stated by the serviceprovider preventing SMS messages from being received and initiated whilein an automobile may cause the registry to disable the SMS application,thus preventing the user from launching or receiving SMS messages.

Thus, the user may now view mobile content on the automobile display,rather than on the display of the mobile device, and may not initiate orreceive SMS messages while connected to the automobile's Bluetoothnetwork. Alternatively, the service provider may choose to display awarning message to the user without disabling any of the applications inthe mobile device.

Similarly, the device internal sensors may identify a particularphysical orientation, location or other characteristic of the device,and cause the network facility to enable or disable based thereon. Forexample, if the device is being held to the ear, then a rule may beprovided that video content is on the automobile display rather than themobile device display. Alternatively, content may be displayed that isrelated to the sensory information obtained from the device, e.g., acoupon may be displayed indicating an event in close proximity to thecurrent location of the device.

Turning now to the drawings and, with particular attention to FIG. 1, adiagram of a telecommunications system 100 according to an embodiment ofthe present invention is shown. The telecommunications system 100 mayinclude a network facility, such as a service delivery platform 102,which may include or be in communication with a resource map 104, aresource profile 106, a recognition unit 115, and an apps database 117.

As will be explained in greater detail below, the resource map 104contains an environment map of resources available to particular users,while the resource profile 106 defines particularized rules for makingthose resources available. The recognition unit 115, as will beexplained in greater detail below, may be implemented as, or including,an inference engine and contains matching rules for comparing accesspolicies to the user device's environment maps. That is, the servicedelivery platform 102 makes the resources available to the user devicesin accordance with the resource map 104, profile 106, and recognitionunit 115. In addition, the recognition unit 115 may include an appsrecognition unit 118 for recommending particular apps to a user based onthe environment or resource maps. That is, the apps recognition unit 118can process one or more matching rules associated with a mobile device'senvironment to access particular apps from the apps database 117.

The service delivery platform 102 may include or be in communicationwith one or more user devices 108, and one or more Home LocationRegister (HLR) databases 116. Typically, as will be explained in greaterdetail below, an HLR 116 is provided for each cell site in the networkto which the user device is registered. The user devices may furtherinclude or be in communication with resource registries 110,capabilities lists (CL) 112, and resource monitors 114.

As will be explained in greater detail below, the resource monitor 114monitors the network and resource environment (either passively oractively) for devices or resources that have become available orunavailable.

The capabilities lists 112 are lists maintained by all network devicesand resources. Specifically, it is envisaged that networks and devices,i.e., all resources, contain an internal capability list (CL) thatcontains not only the identification number of the resource but alsoattributes that may be of interest and use to applications. For example,a network CL may show the bandwidth, average latency, etc. A storagedevice CL may show the amount of available storage, the random accesstime, etc. A display device CL may show the resolution, number ofpixels, etc. Indeed, the attributes in the CL for most popular devicesand networks could be standardized. A particular device or entity's CLmay be updated when it receives a CL from other resources.

The resource registries 110, on the other hand, are registriesmaintained by the user device of CLs of other devices that are currentlyavailable to it. FIG. 2 illustrates an exemplary CL for a display devicethat would be maintained in the registry of, say, a mobile telephone.Attributes in the CL describe the capabilities of the resource, itsexternal interfaces, and intrinsic properties. For example, in the caseof a display device, this can include resolution, display size, refreshrate, etc.

In certain embodiments, the user devices 108 may be implemented astelephones, cellular telephones, PDAs, computers, hard or soft clients,etc. While typically implemented as a smartphone, the user devices 108also may be embodied as tablet computers or personal computersimplementing a Windows operating system and the Explorer web browser.The user devices 108 thus may include telephony and other multimediamessaging capability using, for example, peripheral cameras, Webcams,microphones, and speakers (not shown) or peripheral telephony handsets.

In general, while the user devices 108 may implement one or more of thesystems and methods described herein, the user devices also mayimplement one or more client devices or programs that communicate withservices that implement such systems and methods provided remotely. Incertain embodiments, the system 100 may also include other hardwareand/or software components (e.g., gateways, proxy servers, registrationserver, presence servers, redirect servers, databases, applications,etc.).

The devices may also contain sensors for the state of the device and/orthe state of its immediate environment, such as temperature, locationarid orientation. For example, several current mobile devices, such assmartphones, sense WiFi and cellular networks. Others sense theorientation of the device and allow the display to be used in either aportrait or a landscape mode, using a gravity-based pendulum sensor. Inaddition, proximity sensors turn the display off when the device is heldto the ear.

In accordance with embodiments of the present invention, such physicalsensors may be used to define not simply local characteristics of thetelephone, but may be sent to the registry and uploaded to the networkfor use in implementing and/or determining network and device accesspolicies. Such information can further be used by the network todetermine and recommend suitable content (ads, coupons, etc.) andsmartphone apps.

As will be discussed in greater detail below, in order to receiveinformation, a mobile device must be located by the network since itcould physically be anywhere in the geographical area Each mobile deviceperiodically generates a message called the location update that isrecorded in a Home Location Register (HLR) 116. The location updatemessage typically contains the identity of the cell site in which themobile device is currently located and some other network-relatedinformation, e.g., signal strength, etc.

Whenever the network needs to reach a mobile device, e.g., to initiatean incoming voice call, it sends a paging request to the last cell sitein which the mobile device was located. Upon receiving the pagingrequest the mobile device may respond to it. If, however, the mobiledevice has re-located to another cell site since the last locationupdate, the paging request goes unanswered.

In accordance with embodiments of the present invention, the locationupdate message from a mobile device 108 is further loaded withinformation about other resources that are currently “available” to themobile device 108. Specifically, resources “announce” or make availabletheir CLs. This may be achieved either by accepting a specific requeston a well-defined interface and responding to the request or by doing abroadcast. The current generation of RFID devices, by way of example,announce themselves through a broadcast mechanism, as do certain WiMaxand Wifi networks. The mobile device 108 receives the announcements andaggregates them into one or more resource updates. In some embodimentsof the present invention, the announcements include other device CLs.The mobile device 108 periodically broadcasts these resource updates,which are then received by the service delivery platform 102.

As can be appreciated, such updates from the user devices to the servicedelivery platform 102 via the HLRs 116 could be bandwidth and/orprocessing intensive. As such, in accordance with embodiments of thepresent invention, any of a variety of techniques may be used tominimize such effects. For example, less-bandwidth-intensive binaryencoding may be used for the uplink registry messages. Alternatively, oradditionally, rather than having the uplink occur every time the HLR isupdated, it may occur only every other time, or every tenth time, or anyother predetermined period. Also, rather than having periodic updates,in some embodiments, the registry upload may occur only if the registryitself has actually been updated.

Furthermore, the service delivery platform 102, in conjunction with therecognition unit 115, the resource map 104 and resource profile 106, mayimplement one or more databases (not shown) that will require speedy andfrequent updates. Accordingly, embodiments of the present invention maymake use of “active” databases to accommodate the heavy traffic.

Turning now to FIG. 3, a flowchart 300 illustrating operation ofembodiment of the present invention is shown. The particular arrangementof elements in the flowchart 300 is not meant to imply a fixed order tothe elements; embodiments can be practiced in any order that ispracticable. More particularly, the flowchart 300 illustrates theaggregation process in a mobile device for a plurality of CLs

In a process step 302, the mobile device 108 receives or discovers a CL.Receipt or discovery may be an out-of-band process and may beaccomplished through the resource broadcasting or otherwise announcingpresence and/or the CL.

In a process step 304, the user device 108 and, particularly, theresource monitor 114, checks if the CL is from a previously knownresource. An affirmative response can lead to updating of the CL in theuser device's lists (typically, the received CL may itself be updatedand thus different from that previously stored), in a process step 306.Once updated, the information is integrated into the next resourceupdate to the service delivery platform 102, as shown at process step312. More particularly, the information is loaded with the locationinformation to the Home Location Register 116, which provides it to theservice delivery platform 102. As noted above, this may be sent withevery HLR update, or on an event basis or some periodic basis, and/orusing a low bandwidth binary encoding.

If, in process step 304, the CL was determined to be unknown, theresource will be registered in the mobile device registry 110, in aprocess step 308. A new CL is created for the new resource from thereceived CL in a process step 310, and the new CL is integrated into aresource update, in a process step 312. Once a resource update is ready,the update is sent to another process 1000 that perpetually loops on atimer at process step 314, and periodically generates a resource update,at steps 316, 318.

As noted above, resource updates from mobile devices are received andstored by the Service Delivery Platform (SDP) 102. Using informationfrom the resource updates, the SDP 102 constructs a conceptual map 104of the immediate environment of a mobile device, generates a resourceprofile 106 of a current environment of the device, and uses therecognition unit 115 to allow or disallow functionality based on themap.

For example, shown in FIG. 4 is a user device 108 that has received CLsfrom other resources 402, 404, 406, The CLs 402, 406, 408 may be, forexample, a cell site, a display resource, and a network resource. Themobile device 108 integrates these CLs into a resource update 408 whichin turn is broadcast by the mobile device 108 and received and stored bythe SDP 102.

The stored representation of the environment is shown at 410 and mayinclude a cell site 412, a display resource 414 and a network resource416. The resources 412, 414, 416 correspond to the CLs 402, 404, 406,respectively. It is noted that the graphical representation of FIG. 4 isfor purposes of simplicity only: the typical environment map usesinternal digital computer data structures to effectively store objectssuch as CL 402, 404, 406,

In the example illustrated, the informational attributes of CL 402 maydescribe a cell site of a cellular network 412 with interface 420; theinformational attributes of CL 404 may describe a RFID display devicedepicted as 414 with interface 424; and the informational attributes ofCL 406 may describe a WiFi network depicted as 416 with interface 422.The mobile device itself is shown as a unitary structure 430 forpurposes of this depiction but will be discussed later.

Thus, with reference to FIG. 4, the environment map 104 of the mobiledevice 108 shows that the device is in association with a display device414 using interface 424, and has access to two networks 412 and 416using interfaces 420, 422 respectively, the former being a WiFi networkand the latter a cellular network.

The inventions discussed herein do not presuppose that a resource isnecessarily associated exclusively with a single mobile device.Resources may be shared between multiples of mobile devices. it is alsoenvisaged that the SDP 102 maintains an environment map for a pluralityof mobile devices and, typically, maintains one map for all mobiledevices in its purview.

As noted above, the environment map of mobile devices may be used toefficiently deliver to and receive information from the mobile devices.As an exemplary case, consider the problem of delivering video contentfrom a source to the mobile device whose map 104 is depicted in FIG. 5.

The mobile device 108 is associated with a display resource 414, acellular network 412 and a WiFi network 416. Also shown are a variety ofnetwork paths, 101, 201, 301, 501, 601, 701, Given the environment mapof mobile device 108, a service profile 106 (FIG. 1) may be associatedwith the device that specifies that video content from a content server502 may be delivered to either the mobile device 108 or to the displayresource 414 and may further define the network path for the delivery.

In particular, the SDP 102 may choose a network path 101, 201, 301 todeliver the video content to the display resource 424. Alternatively, itmay deliver the video content using the network path 101, 201, 501, 601,301 to the mobile device 108; or it may also use the network path 701,412. The service profile may further direct the mobile device 108 toconsume the video content or to “relay” content to the display resource424. Such a directive may be dictated by policies stated by the serviceprovider. The SDP 102 may contain service logic using cost functions tochoose any one of these paths. It may also use current network trafficand policies to prefer one path over the other possible paths.

If the SDP 102 chooses to deliver the video content to the displayresource 424 and not the mobile device 108, it may first seek permissionfrom the mobile device 100 by engaging in user dialog, such as via agraphical user interface. It is thus apparent that a user of a mobiledevice 108 may request video content from a server and in some cases, asdepicted in FIG. 5, the video content will be received and relayed bythe mobile device 108, to be displayed on a device 424 in closeproximity to the mobile device.

Continuing with the example shown in FIG. 5, if the environment map ofthe mobile device 108 depicts that the device is in association with,for example, a Bluetooth (WiFi) network 416 generated by an automobile,the system and method of the present invention may employ a recognitionunit 114 to examine the environment map 104 of a mobile device 108 torecognize that the mobile device 108 is in a pre-defined context, e.g.,in an automobile and may limit access to features and services inresponse.

This is explained further with reference to FIG. 6. The SDP 102 receivesresource updates in step 602, and determines whether a resource updateis for a new or a previously known mobile device (step 604). Steps 606and 608 incorporate the received resource update into the environmentmap 104. In step 610, a recognition unit 115 containing pre-definedpattern matching rules is invoked that examines the environment map 104for the mobile device 108 with the recently received resource update todetermine if the map matches any of the pattern-rules of the recognitionunit 115.

If a match is found, i.e., the mobile device 108 is determined to be ina pre-defined network or context or environment, e.g., connected to anautomobile wifi network 416, then the recognition unit 115 returns anaffirmative response and may apply a service provider policy to theenvironment of the mobile device, e.g., restrict SMS usage.

In another exemplary embodiment, the SDP 102 may dictate the networkpath chosen to deliver the video content to the display resource 424 andnot to the mobile device 108. The policy enforced by the SDP 102 onbehalf of the service provider may be the result of safetyconsiderations calculated by the service provider. Thus, the user of amobile device 108 in an automobile may view video content on theexternal display provided by the automobile.

Continuing further with the example depicted in FIG. 5, suppose themobile device 108 is to be used to transmit content to the network,i.e., in the uplink direction. Again, it is apparent, that the mobiledevice 108 may query the environment map 104 via the SDP 102 to select asuitable network interface to use for making the transmission.

The present embodiment envisages that computing, display, storage andnetwork resources may be abundantly available to a mobile consumer, andthe consumer may choose to use such resources through the system andmethod described in the present invention. Moreover, as the consumertravels, his environment and availability of resources changes, thechanges being recorded in the registries and environment mapcorresponding to the user's mobile device.

The description of the present embodiment, so far, has concentrated onthe external resources available to a mobile device 108, and not on theapplications available within the device itself. It is envisaged, aspreviously stated, that mobile devices contain a registry of allapplications that have been loaded on to a mobile device by the serviceprovider or by the user himself. Applications that are not registered inthe registry are considered as “rogue” applications and are outside thescope of the present invention.

As described earlier, the environment map for a mobile device depictsthe immediate environment of the mobile device and the SDP 102 assigns anetwork profile 106 to the mobile device based on the currentenvironment map 104. It is envisaged by the present invention that theSDP 102 is also aware of the applications within the registry of themobile device 108, and when assigning a service profile, may enforce oneor more policies on the profile that cause the enablement or disablementof certain applications in the mobile device or impact delivery ofinformation to the mobile device by other network elements.

Continuing with the example of FIG. 5, the exemplary depiction showsmobile device 108 in association with a WiFi network resource 416generated by an automobile. This association may be assumed to trigger apolicy that disables the web browser and the SMS applications in theregistry of the mobile device 108. Thus, the user of the mobile device108 will not be capable of launching the SMS or the web browserapplications from the mobile device. Furthermore, the service providermay trigger network elements to disable the delivery of messages to themobile device in question, e.g., by marking the status of the mobiledevice as “unavailable” in the HLR will temporarily stop delivery ofmessages, including SMS messages, to the mobile device.

Turning now to FIG. 9, a flowchart 900 illustrating operation ofembodiment of the present invention is shown. The particular arrangementof elements in the flowchart 900 is not meant to imply a fixed order tothe elements, embodiments can be practiced in any order that ispracticable.

In a process step 902, a user device 108 receives or detects theaddition of one or more new programs, resources, or processes that maybe available to it. The new additions can include new CLs 112 and resultin an updated resource registry 110, as discussed above. In a processstep 904, the user device transmits the update to the SDP 102. Asdiscussed above, this can include the user device 108 transmitting alocation signal to the Home Location Register and piggy-backing the CLand registry information on top. The HLR 116 in turn provides theinformation to the SDP 102.

In a process step 906, the SDP 102's resource monitor 114 receives theupdate arid provides the information to the resource map 104. Inresponse, in a process step 908, the resource map 104 determines a newenvironment map for the user device (and other devices). In a processstep 910, the SDP 102's recognition unit 115 accesses or updates theresource profile 106 of the particular device whose update has beenreceived. As noted above, the profile includes one or more rules basedon inferences from user contexts resulting from knowledge of the userposition, device orientation, etc.

In a process step 912, the SDP 102 can receive a service request from auser device. For example, as discussed above, this can include requestsfor video content or the like. In a process step 914, in response, theSDP 102's recognition unit 115 determines a user situation or device,i.e., accesses and applies the rules or policy For user access to theprogram or application or resource. Finally, in a process step 916, theSDP 102 can allow access per the rules.

As discussed above, information may be broadcast or transmitted fromsensors and resources within or in close proximity of a mobile device.Such information may be received and stored in a repository and madeavailable to other computational methods and processes. The informationtransmitted by a mobile device further may be processed to determine ifthe mobile device is in motion at a certain time and in a certaindirection. Thus, its velocity, acceleration and location can bedetermined.

As noted above, in some embodiments, the SDP 102 can allow or disallowtexting or other forms of communication while a user is determined to bedriving. In particular, embodiments may be aimed at resolving the issueof determining when the user or owner of a mobile device is engaged inan information task using the device, such as texting, and issimultaneously operating an automobile or other transport device, thusbeing susceptible to distracted driving or distracted operation of atransport device.

In some embodiments, a system defines one or more situational profilesbased on sensory data received from a mobile device. The system thenanalyzes the received information and makes a determination that theowner of the mobile device is engaged in an information activity thatcould lead to a distracted driving situation. The system then mayexecute a series of recommended actions based on policies of the serviceprovider.

More particularly, some embodiments include a database containingsensory information associated with the SDP. Such sensory informationcan include representations of photographs and images of the dashboardand steering wheel of several makes and models of automobiles, trainengines, airplane cockpits, etc. In general, the images pertain to thedriving and operating environment found in automobiles, cars, buses,etc. These representations of images may be used to train a series offeature recognition algorithms and computational processes.

That is, the service delivery platform, for example, may receive anincoming series of photographs and images, convert them into suitablerepresentations, and match them to the stored representations in thesensory database. A set of rules may be used to guide the matchingprocess and a probability based success metric may be used to decide ifa successful match has been made. This matching process is calledfeature recognition.

In addition to images of the driving environment, it is also possible tostore in the sensory database, representations of the facial features ofthe owner of the device. It is then possible to apply the featurerecognition method to the facial features of the owners of devices.

Thus, embodiments of the present invention include taking a series ofphotographs using the built-in camera devices in smart phones andtablets, i.e., in mobile devices, of the face of the operator of a caror a transport device and his driving environment at certainwell-defined time instants, using the front and rear-facing cameradevices. The series of photographs may be transmitted to a server in thenetwork where the feature recognition process can be executed. Incertain embodiments, all or part of this computational process may becarried out using the resources available on the mobile device itself.Further, the database itself may be available on the device itself.

The result of the feature recognition problem may be used to alert othercomputational and telecommunication resources, databases, networkentities and/or the mobile device to enable or disable certainfunctions, issue alarms or trigger other process processes in suchresources. Thus, a system in accordance with embodiments of the presentinvention is configured to monitor a mobile device based on sensorydata, initiate a feature recognition method and report, trigger, orrecommend certain actions to other network devices, resources andentities.

Turning now to FIG. 10, a diagram illustrating such a system isillustrated in greater detail. It is noted that such a system may beimplemented as shown in FIG. 1; FIG. 10 is shown for purposes ofclarity.

The system 1000 includes one or more servers 1002 which may beimplemented, for example by a service provider and in conjunction withor in collaboration with the service delivery platform 102 (FIG. 1). Insome embodiments, the server 1000 may be implemented by a third-partyprovider. The server 1002 is in communication with or coupled to a userdatabase 1004 and a training sample database 1003. The user database1004 may store user profiles, capabilities lists, etc., in a mannersimilar to that discussed above. A plurality of user device 1008, suchas smartphones or tablets, may couple to or be in communication with theserver 1000 via one or more wireless networks. As discussed above, thiscan include cellular or 3G networks, the Internet etc.

Briefly, in an out-of-band process, the server 1002 may receive trainingsamples 1040 and store them in the training sample database 1003. Thistraining sample data may include images of various driving environmentsfrom various automobiles, buses, cars, trucks, railway engines, etc. Insome embodiments, the training sample data is provided to the trainingsample database 1003 by other servers, service providers, etc. In eithercase, once stored in the training sample database 1003, these images aremade available to the server 1002.

The server 1002 retrieves the various images from the training sampledatabase 1003, creating internal representations of these images andstoring these representations in the user data database 1004. Theinternal representations capture salient aspects of the images and mayutilize user input.

Any suitable feature extraction method or algorithm may be used. Oncethe salient features have been identified and extracted, the resultingrepresentation (consisting of the salient features) is stored in asuitable form in database 1004.

The user device 1008 may include service logic in accordance withembodiments called the user agent (UA) 1010. The logic 1010 may be anapp, for example, and may be installed by the consumer himself byloading from an app store or from a pre-defined web site of a serviceprovider. It could also be pre-installed by the device manufacturer. Theuser agent operates in conjunction with a policy database 1012 and amonitor function 1014, as will be discussed in greater detail below.Briefly, the policy database 1012 stores allowed capabilities and mayoperate in conjunction with the capabilities lists in a manner similarto that discussed above. The monitor 1014 is triggered to monitor andreport the existing environment of the user device.

In operation, the user agent 1010 may be activated to provideenvironment data about the user device to the server 1002. This caninclude orientation, speed, etc., information, as discussed above, aswell as photographic information obtained from the user device'sbuilt-in camera(s) 1013. The resulting image is then compared to theimages or image data stored in the database 1004 to ascertain if theuser is operating a vehicle. If so, then one or more functions, such astexting, may be turned off or otherwise disabled.

Turning now to FIG. 11, a flowchart 1100 illustrating operation ofembodiment of the present invention is shown. The particular arrangementof elements in the flowchart 300 is not meant to imply a fixed order tothe elements; embodiments can be practiced in any order that ispracticable.

As shown in FIG. 11, the user agent 1010 may be activated or triggered(step 1102) in any of several ways. It could be triggered by a useraction, such as launching an application, e.g., making a phone call orattempting to send or receive a text message. Such actions may influencea registry component of the device's operating system (not shown) thatmay be programmed to generate a trigger to the user agent 1010.Alternatively, a particular application or service such as textmessaging may be programmed to directly generate a trigger for the useragent 1010. Finally, the user may be prompted at device startup time toinitiate execution of the user agent 1010.

At step 1104, the user agent 1010 receives the trigger and consults theinternal repository database 1012. As discussed above, this can containpolicies set by the device manufacturer or the service provider anddictate the frequency and events that need to be monitored, For example,a policy may dictate that text messaging events need to be monitoredevery time the text messaging application is invoked or whenever a textmessage is received. Once retrieved (step 1106), the policy is then usedto define the current monitoring (step 1108).

Turning now to FIG. 12, a flowchart 1200 illustrating operation ofembodiment of the present invention is shown. The particular arrangementof elements in the flowchart 1200 is not meant to imply a fixed order tothe elements; embodiments can be practiced in any order that ispracticable.

In particular, FIG. 12 illustrates operation of a monitor process. Inparticular, once the user agent is activated and the monitor profile isaccessed (step 1202), it in turn causes the activation of the front andrear-facing cameras of the user device (step 1204). Once the front andrear-facing cameras have been activated, a series of images may be taken(step 1206). This series of images may be transmitted to apre-determined and pre-provisioned destination in the network (step1208). This may include, for example, the SDP 102 of FIG. 1 or, withreference to FIG. 10, this pre-determined destination may the server1002. Again, however, other destinations run by other parties may beused or, indeed, may be a process internal to the device.

The server 1002 receives the series of images, creates internalrepresentations of the received images, and initiates a process ofmatching the received image representations with the images stored inthe database 1004 (step 1210). This matching process may, in general, beheuristically driven, i.e., the matching process may use hints, rulesand probabilistic estimates to arrive at a conclusion of a successfulmatch. For example, the matching process may generate a matching scorerepresenting the confidence in a match and a threshold may be defined toaccept the matching score as signifying a successful match. That is, amatch yielding a matching score exceeding a certain threshold value maybe deemed as signifying a successful match. Exemplary image matchingtechniques are well known.

The match may comprise a match of a photo taken from the device's rearfacing camera and may include, say, an image of a dashboard or steeringwheel or other indicia indicating that the phone is in use by a driverof a vehicle. For example, in a left-side drive automobile, the imagemay include a left windshield pylon or a rear-view mirror at the rightside of the image. In other embodiments, a front facing camera maycapture an image of the face of the driver and background associatedwith the left rear of the automobile to determine if the driver is inthe vehicle behind the wheel.

Once a match has been made successfully, one or more actions may betaken (step 1212). A service provider or a device manufacturer maydefine the actions that follow from a successful match. A successfulmatch may yield the action of generating a warning message to the user(i.e., audio or text), or disabling the execution of an application fora certain length of time or until a different event triggers a“release.” For example, the device may go into a self-checking loopwaiting for a certain event (e.g., the motion of the device comes to astop) before the application is allowed to continue execution.

FIG. 7 shows a block diagram of components of a service deliveryplatform, server, or service provider implemented as a computing device700, e.g., personal, or laptop computer or server. In some embodiments,the computing device 700 may implement one more elements of the methodsdisclosed herein.

The system unit 11 includes a system bus or a plurality of system buses21 to which various components are coupled and by which communicationbetween the various components is accomplished. A processor 22, such asa microprocessor, is coupled to the system bus 21 and is supported bythe read only memory (ROM) 23 and the random access memory (RAM) 24 alsoconnected to the system bus 21. The computer 700 may be capable of highvolume transaction processing, performing a significant number ofmathematical calculations in processing communications and databasesearches. A Pentium™ or other similar microprocessor manufactured byIntel Corporation may be used for the processor 22. Other suitableprocessors may be available from Freescale Semiconductor, Inc., AdvancedMicro Devices, Inc., or Sun Microsystems, Inc. The processor 22 also maybe embodied as one or more microprocessors, computers, computer systems,etc.

The ROM 23 contains among other code the basic input output system(BIOS) which controls basic hardware operations such as the interactionof the disk drives and the keyboard. The ROM 23 may be embodied, e.g.,as flash ROM. The RAM 24 is the main memory into which the operatingsystem and applications programs are loaded. The memory management chip25 is connected to the system bus 21 and controls direct memory accessoperations including passing data between the RAM 24 and hard disk drive26 and removable drive 27 (e.g., floppy disk or flash ROM “stick”). A CDROM drive (or DVD or other optical drive) 32 may also be coupled to thesystem bus 21 and is used to store a large amount of data, such as amultimedia program or a large database.

Also connected to the system bus 21 are various I/O controllers: Thekeyboard controller 28, the mouse controller 29, the video controller30, and the audio controller 31. The keyboard controller 28 provides thehardware interface for the keyboard; the mouse controller 29 providesthe hardware interface for the mouse 13 (or other cursor pointingdevice); the video controller 30 is the hardware interface for the videodisplay 14; and the audio controller 31 is the hardware interface for aspeaker and microphone (not shown). It is noted that while the variousI/O controllers are illustrated as discrete entities, in practice, theirfunctions may be performed by a single I/O controller known as a “superI/O.” Thus, the figures are exemplary only.

In operation, keyboard strokes are detected by the keyboard controller28 and corresponding signals are transmitted to the microprocessor 22;similarly, mouse movements (or cursor pointing device movements) andbutton clicks are detected by the mouse controller and provided to themicroprocessor 22. Typically, the keyboard controller 28 and the mousecontroller 29 assert interrupts at the microprocessor 22. In addition, apower management system 33 may be provided which causes the computer toenter a power down mode if no activity is detected over a predeterminedperiod.

One or more network interfaces 40 enable communication over a network46, such as a packet network like the Internet. The network interfaces40 may be implemented as wired or wireless network interfaces operatingin accordance with, for example, one or more of the IEEE 802.11xstandards arid may also or alternatively implement a Bluetoothinterface.

One embodiment of the present invention is as a set of instructions in acode module resident in the RAM 24. Until required by the computersystem, the set of instructions may be stored in another computermemory, such as the hard disk 26, on an optical disk for use in the CDROM drive 32, a removable drive 27, or the flash ROM.

As shown in the figure, the operating system 50, resource monitor 104,resource map 106, resource profile(s) 114, and recognition unit 115 areresident in the RAM 24. The operating system 50 functions to generate agraphical user interface on the display 14.

Execution of sequences of the instructions in the programs causes theprocessor 22 to perform various of the process elements describedherein. In alternative embodiments, hard-wired circuitry may be used inplace of, or in combination with, software instructions forimplementation of some or all of the methods described herein. Thus,embodiments are not limited to any specific combination of hardware andsoftware.

The processor 22 and the data storage devices 26, 27, 32 in the computer700 each may be, for example: (i) located entirely within a singlecomputer or other computing device; or (ii) connected to each other by aremote communication medium, such as a serial port cable, telephone lineor radio frequency transceiver. In one embodiment, the computer 100 maybe implemented as one or more computers that are connected to a remoteserver computer.

As noted above, embodiments of the present invention may be implementedin or in conjunction with a telephone, such as a wireless or cellular“smart” telephone. An exemplary cellular telephone 800 includingcapabilities in accordance with an embodiment of the present inventionis shown in FIG. 8. In some embodiments, the cellular telephone 800 mayimplement one or more elements of the methods disclosed herein. Asshown, the cellular telephone includes control logic 802 and cellulartransceiver 804. The cellular transceiver 804 allows communication overa cellular telephone network, such as a GSM or GPRS based cellulartelephone network. The control logic 802 generally controls operation ofthe cellular telephone and, in some embodiments, implements CLs andresource registry, as well as other services or clients in accordancewith embodiments of the present invention.

The control logic 802 interfaces to a memory 818 for storing, amongother things, contact or address lists 107. The control logic 802 alsointerfaces to a user interface(s) 810. The user interface(s) 810 caninclude a keypad 820, speaker 822, microphone 824, and display 826. Thekeypad may include one or more “hard” keys, but may be implemented inwhole or in part as a cursor pointing or other device in associationwith one or more “virtual” keys on the display 826. In general, a usermay make use of the keypad 820 and display 826 to enter contactinformation, and may speak into the microphone to provide the audioinput(s). It is noted that other interfaces, such as voice-activatedinterfaces may be provided. Thus, the figure is exemplary only, Inaddition, a Bluetooth or WiFi interface 806 may be provided. A memory808 for storing program code and data, such as the CL 112 and registry110, also may be provided. Further, the cellular telephone may includeone or more built-in cameras 83 for taking and storing photographs.

While specific implementations and hardware/software configurations forthe mobile device and SDP have been illustrated, it should be noted thatother implementations and hardware configurations are possible and thatno specific implementation or hardware/software configuration is needed.Thus, not all of the components illustrated may be needed for the mobiledevice or SDP implementing the methods disclosed herein.

As used herein, whether in the above description or the followingclaims, the terms “comprising,” “including,” “carrying,” “having,”“containing,” “involving,” and the like are to be understood to beopen-ended, that is, to mean including but not limited to. Only thetransitional phrases “consisting of” and “consisting essentially of,”respectively, shall be considered exclusionary transitional phrases, asset forth, with respect to claims, in the United States Patent OfficeManual of Patent Examining Procedures.

Any use of ordinal terms such as “first,” “second,” “third,” etc., inthe claims to modify a claim element does not by itself connote anypriority, precedence, or order of one claim element over another, or thetemporal order in which acts of a method are performed. Rather, unlessspecifically stated otherwise, such ordinal terms are used merely aslabels to distinguish one claim element having a certain name fromanother element having a same name (but for use of the ordinal term).

The above described embodiments are intended to illustrate theprinciples of the invention, but not to limit the scope of theinvention. Various other embodiments and modifications to thesepreferred embodiments may be made by those skilled in the art withoutdeparting from the scope of the present invention.

What is claimed is:
 1. A method for controlling access to functionsavailable to respective ones of a plurality of user devices, comprising:receiving service requests from the user devices; allowing ordisallowing each of the user devices to access the respective requestedfunction based on an application of pre-defined matching rules formatching access policies of the respective user devices with arespective representation of an environment for each of the userdevices, at least one of the representations being based on informationobtained from one or more updates received from the respective userdevices, the information including state information concerning aphysical environment of the respective user devices obtained from one ormore sensors associated with the respective user devices, whereinallowing or disallowing at least one of the user devices to access arequested function includes disallowing access to the requested functionif the state information indicates that the user device is in apre-defined physical environment, the state information including one ormore images that are captured by an image capture device associated withthe user device and wherein matching the access policies of therespective user devices with a respective representation of anenvironment for each of the user devices includes matching the one orcaptured images to stored images.
 2. The method of claim 1, the capturedimages are images of a vehicle operating environment in which the userdevice is located and the stored images are images of a plurality ofdifferent vehicle operating environments.
 3. The method of claim 1,wherein the pre-defined physical environment is an automobile.
 4. Themethod of claim 3, wherein the requested function includes communicationfunctionality.
 5. The method of claim 3, wherein the requested functionincludes a texting function.
 6. The method of claim 1, wherein themonitoring is triggered when a specified application residing on themobile device is launched.
 7. The method of claim 1, wherein disallowingaccess to the requested function includes disallowing access to therequested function for a limited period of time.
 8. The method of claim1, wherein the state information includes an orientation of the userdevice.
 9. The method of claim 8, wherein the requested function is atexting function.
 10. A server platform, comprising: a representationdatabase for storing environmental sensory data obtained fromtransmissions received from a plurality of user devices; a user profiledatabase for storing pre-defined matching rules for matching accesspolicies of user devices with a respective representation of anenvironment for each of the user devices, at least one of therepresentations being based on the environmental sensory data stored inthe representation database; a network interface for receiving theenvironmental sensory data and requests from one or more of the userdevices to access one or more functions of the user devices; arecognition engine for allowing or disallowing the one or more of theuser devices to access the respective requested functions based on amatching of the pre-defined matching rules with the respectiverepresentation of the environment for the user devices, wherein allowingor disallowing at least one of the user devices to access a requestedfunction includes disallowing access to the requested function if theenvironmental sensory data indicates that the user device is in apre-defined physical environment, the environmental sensory dataincluding one or more images that are captured by an image capturedevice associated with the user device and wherein matching thepre-defined matching rules with the respective representation of theenvironment for the user device includes matching the one or capturedimages to stored images stored in the representation database.
 11. Theserver platform of claim 10, wherein the captured images are images of avehicle operating environment in which the user device is located andthe stored images are images of a plurality of different vehicleoperating environments.
 12. The server platform of claim 10, wherein thepre-defined physical environment is an automobile interior.
 13. Theserver platform of claim 10, wherein the environmental sensory dataincludes a speed, acceleration and/or an orientation of at least one ofthe user devices.
 14. A method for controlling access to functionsavailable to respective ones of a plurality of user devices, comprising:receiving service requests from the user devices; allowing ordisallowing each of the user devices to access the respective requestedfunction based on an application of pre-defined matching rules formatching access policies of the respective user devices with arespective representation of an environment for each of the userdevices, at least one of the representations being based on informationobtained from one or more updates received from the respective userdevices, the information including state information concerning aphysical environment of the respective user devices obtained from one ormore sensors associated with the respective user devices, whereinupdates are periodically received from one of the user devices afterinitiation of monitoring the environment of the user device using theone or more sensors associated with the user device, the monitoringgenerating the state information included in the update.